#include <func.h>

void* start_routine(void* args) 
{
    // 通过 args 传递小数据(<= 8字节, 指针变量能容下)
    // 把指针变量当作数据传递
    int val = (int)args;    // args是野指针，不要进行解引用
    printf("new thread: %d\n", val);
    return NULL;
}

int main(int argc, char* argv[])
{
    // main线程的入口
    pthread_t tid;
    int err = pthread_create(&tid, NULL, start_routine, (void*)9527);
    // pthread_create 返回后，到底是主线程先执行
    // 还是子线程限制性，这是不确定的。
    if (err) {
        error(1, err, "pthread_create()");
    }

    printf("main thread: %lx created\n", tid);
    sleep(2);  // 让子线程执行完

    return 0;  // exit(0)
}

